// main.ts 或主进程文件中
import { app, Tray, Menu, nativeImage } from 'electron'
import type { BrowserWindow } from 'electron'
import myTrayIcon from '../../../resources/logo.png?asset'

let tray: Tray | null = null

const setSysTrayIcon: (mainWindow: BrowserWindow) => void = (mainWindow) => {
  // ✅ 创建系统托盘图标
  tray = new Tray(nativeImage.createFromPath(myTrayIcon))

  // 构建右键菜单
  const contextMenu = Menu.buildFromTemplate([
    {
      label: '打开主窗口',
      click: () => {
        if (mainWindow) {
          mainWindow.show()
        }
      }
    },
    {
      label: '最小化到托盘',
      click: () => {
        if (mainWindow) {
          mainWindow.hide()
        }
      }
    },
    {
      label: '退出',
      click: () => {
        app.quit()
      }
    }
  ])

  // 绑定右键菜单
  tray.setContextMenu(contextMenu)
  console.log('系统托盘图标路径', myTrayIcon)
  // 动态修改任务栏标题
  mainWindow.setTitle('以梦为码音乐')
  // 动态设置托盘图标的提示文字（hover 时显示）
  tray.setToolTip('以梦为码音乐')
  // 动态修改任务栏图标
  mainWindow.setIcon(nativeImage.createFromPath(myTrayIcon))
}

app.on('before-quit', () => {
  if (tray) {
    tray.destroy() // 销毁托盘图标
  }
})

export { setSysTrayIcon }
